package org.yelongframework.excel.data.collect.sheet.manager;

import java.util.List;

import org.yelongframework.excel.data.collect.sheet.SheetDataCollectMode;
import org.yelongframework.excel.data.collect.sheet.SheetDataCollector;
import org.yelongframework.lang.Nullable;

/**
 * 工作表数据收集器管理器
 * 
 * @since 1.0.0
 */
public interface SheetDataCollectorManager {

	// ==================================================注册==================================================

	/**
	 * 注册数据收集器
	 * 
	 * @param sheetDataCollector 数据收集器
	 */
	void registerSheetDataCollector(SheetDataCollector sheetDataCollector);

	/**
	 * 注册数据收集器
	 * 
	 * @param sheetDataCollectors 数据收集器集合
	 */
	void registerSheetDataCollectors(List<SheetDataCollector> sheetDataCollectors);

	// ==================================================获取==================================================

	/**
	 * 根据数据收集模式获取数据收集器
	 * 
	 * @param sheetDataCollectMode 数据收集模式
	 * @return 数据收集器
	 */
	@Nullable
	SheetDataCollector getSheetDataCollector(SheetDataCollectMode sheetDataCollectMode);

}
